#ifndef __TP4_H__
#define __TP4_H__
#include "ImageGray.h"
#include "ipFFT2D.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <tr1/array>
#include <tr1/memory>
//#include "util.h"

using namespace Torch;

class ContourImg {
public:
	char* file_name;
	ImageGray *image_in;
	ImageGray *image_compare;

	std::tr1::shared_ptr<Torch::ImageGray> image;

	ContourImg(char *file_name);

	~ContourImg();

	void sobel(real threshold);
	
	void canny(real threshold);

	void roberts(real threshold);

	void prewitt(real threshold);

	void initCompare(char*file);

	//cette fonction calcule le nombre de pixels de couleur color
	//dans l'image img prise en parametre (somme des pixels 
	//de couleur color dans l'image)

	int nuberPixelsOfColor(ImageGray*img, int color);

		
	int nombreCommun(ImageGray *image,ImageGray *imgref);
	
	
	char* newName(char*oldname,char*nouveau);
	
	// Cette fonction a pour but de prendre une image dont les contours ont ete
	// traces en blanc de les tracer en noir et de mettre les parties noires en blanc
	void changeEdges(ImageGray*img);

	//void compute_spectre();

	/*
	*renvoie la longueur de lachaine prise en entree 
	*
	*/
	int longueur(char* chaine);
	
};

#endif /* IMAGEFFT_H_ */
